//package cn.stylefeng.guns.schedule;
//
//import cn.hutool.core.date.DateUtil;
//import cn.hutool.core.thread.ThreadUtil;
//import cn.hutool.core.util.StrUtil;
//import cn.hutool.http.HttpUtil;
//import com.alibaba.fastjson.JSONArray;
//import com.alibaba.fastjson.JSONObject;
//import com.google.common.collect.Maps;
//import lombok.Builder;
//import lombok.Data;
//import lombok.extern.slf4j.Slf4j;
//import org.springframework.beans.factory.annotation.Autowired;
//import org.springframework.boot.CommandLineRunner;
//import org.springframework.stereotype.Component;
//
//import java.util.*;
//import java.util.concurrent.TimeUnit;
//
///**
// * @program: football_manage
// * @description:
// * @author: xiesm
// * @create: 2022-04-19 09:06
// **/
//@Slf4j
//@Component
//public class Ao83Schedule implements CommandLineRunner {
//    @Autowired
//    private Ao82Schedule ao82Schedule;
//
//    private static final Map<String, String> weizhiNum = Maps.newHashMap();
//    private static final Map<String, String> lianxu = Maps.newHashMap();
//
//    @Override
//    public void run(String... args) throws Exception {
//        init();
//        List<String> nums = Arrays.asList("4", "9");
//        while (true) {
//            String mm = DateUtil.format(new Date(), "mm").substring(1);
//            if (nums.contains(mm)) {
//                Integer ss = Integer.valueOf(DateUtil.format(new Date(), "ss"));
//                once();
//                ThreadUtil.sleep(60 - ss, TimeUnit.SECONDS);
//            } else {
//                ThreadUtil.sleep(60000);
//            }
//        }
//    }
//
//    public static void main(String[] args) {
//        Ao83Schedule schedule = new Ao83Schedule();
//        schedule.init();
//        List<String> nums = Arrays.asList("4", "9");
//
//        while (true) {
//            String mm = DateUtil.format(new Date(), "mm").substring(1);
//            if (nums.contains(mm)) {
//                Integer ss = Integer.valueOf(DateUtil.format(new Date(), "ss"));
//                schedule.once();
//                ThreadUtil.sleep(60 - ss, TimeUnit.SECONDS);
//            } else {
//                ThreadUtil.sleep(60000);
//            }
//        }
//    }
//
//    public void once() {
//        JSONObject jsonObject = get();
//        Map<String, Ball> map = jiexi(jsonObject);
//        JSONArray datas = jsonObject.getJSONObject("result").getJSONArray("data");
//        String issue = datas.getJSONObject(0).getString("preDrawIssue");
//        Ball ball = map.get(issue);
//        judge(ball.getNum1(), "1", weizhiNum, issue, true);
//        judge(ball.getNum2(), "2", weizhiNum, issue, true);
//        judge(ball.getNum3(), "3", weizhiNum, issue, true);
//        judge(ball.getNum4(), "4", weizhiNum, issue, true);
//        judge(ball.getNum5(), "5", weizhiNum, issue, true);
//        judge(ball.getNum6(), "6", weizhiNum, issue, true);
//        judge(ball.getNum7(), "7", weizhiNum, issue, true);
//        judge(ball.getNum8(), "8", weizhiNum, issue, true);
//    }
//
//    public void init() {
//        JSONObject jsonObject = get();
//        Map<String, Ball> map = jiexi(jsonObject);
//
//        Iterator<Map.Entry<String, Ball>> iterator = map.entrySet().iterator();
//        while (iterator.hasNext()) {
//            Map.Entry<String, Ball> next = iterator.next();
//            Ball value = next.getValue();
//            judge(value.getNum1(), "1", weizhiNum, next.getKey(), false);
//            judge(value.getNum2(), "2", weizhiNum, next.getKey(), false);
//            judge(value.getNum3(), "3", weizhiNum, next.getKey(), false);
//            judge(value.getNum4(), "4", weizhiNum, next.getKey(), false);
//            judge(value.getNum5(), "5", weizhiNum, next.getKey(), false);
//            judge(value.getNum6(), "6", weizhiNum, next.getKey(), false);
//            judge(value.getNum7(), "7", weizhiNum, next.getKey(), false);
//            judge(value.getNum8(), "8", weizhiNum, next.getKey(), false);
//        }
//        System.out.println(weizhiNum);
//    }
//
//    public void judge(String num, String weizhi, Map<String, String> weizhiNum,
//                      String issue, boolean isSendWarn) {
//        String str = weizhiNum.get(weizhi);
//        if (str == null) {
//            weizhiNum.put(weizhi, num + "," + 1);
//            return;
//        }
//        String[] strs = str.split(",");
//        if (Objects.equals(num, strs[0])) {
//            Integer count = Integer.valueOf(strs[1]);
//            weizhiNum.put(weizhi, strs[0] + "," + (count + 1));
//            if ((count + 1) == 3) {
//                if (isSendWarn) {
//                    String msg = StrUtil.format("{},位置:{},重号{}次", issue, weizhi, count + 1);
//                    ao82Schedule.send(1000007, msg);
//                }
//                lianxu.put(weizhi, "1");
//            } else if ((count + 1) == 2 && lianxu.get(weizhi) != null) {
//                if (isSendWarn) {
//                    String msg = StrUtil.format("{},位置:{},重号{}次", issue, weizhi, count + 1);
//                    ao82Schedule.send(1000005, msg);
//                }
//                lianxu.remove(weizhi);
//            }
//        } else {
//            weizhiNum.put(weizhi, num + "," + 1);
//        }
//    }
//
//    private static final String url = "https://api.apiose122.com/klsf/getHistoryLotteryInfo.do?date={}&lotCode=10011";
//
//    public JSONObject get() {
//        String date = DateUtil.format(new Date(), "yyyy-MM-dd");
//        String host = StrUtil.format(url, date);
//        String body = HttpUtil.createGet(host).execute().body();
//        return JSONObject.parseObject(body);
//    }
//
//    @Data
//    @Builder
//    static class Ball {
//        private String num1;
//        private String num2;
//        private String num3;
//        private String num4;
//        private String num5;
//        private String num6;
//        private String num7;
//        private String num8;
//
//        public static Ball setNums(String[] codes) {
//            return Ball.builder()
//                    .num1(codes[0])
//                    .num2(codes[1])
//                    .num3(codes[2])
//                    .num4(codes[3])
//                    .num5(codes[4])
//                    .num6(codes[5])
//                    .num7(codes[6])
//                    .num8(codes[7])
//                    .build();
//        }
//    }
//
//    public Map<String, Ball> jiexi(JSONObject jsonObject) {
//        JSONArray datas = jsonObject.getJSONObject("result").getJSONArray("data");
//        Map<String, Ball> map = Maps.newLinkedHashMap();
//        for (int i = datas.size() - 1; i >= 0; i--) {
//            JSONObject data = datas.getJSONObject(i);
//            String code = data.getString("preDrawCode");
//            String[] codes = code.split(StrUtil.COMMA);
//            map.put(data.getString("preDrawIssue"), Ball.setNums(codes));
//        }
//        return map;
//    }
//}
